#include "common.h"
#include "sload.h"
f_deffer main(p_flat I) {
f_deffer O;
half4 D=tbase(I.tcdh);
clip(D.w-def_aref);
#ifdef USE_TDETAIL
D.rgb=2*D.rgb*tex2D(s_detail,I.tcdbump).rgb;
#endif
half ms=xmaterial;
#ifdef USE_LM_HEMI
half4 lm=tex2D(s_hemi,I.lmh);
half h=dot(lm.rgb,1.h/3.h);
#ifdef USE_R2_STATIC_SUN
ms=lm.w;
# endif
#else
half h=I.position.w;
#ifdef USE_R2_STATIC_SUN
ms=I.tcdh.w;
#endif
#endif
O.Ne=half4(normalize((half3)I.N.xyz),h);
O.position=half4(I.position.xyz+O.Ne.xyz*def_virtualh/2.h,ms);
O.C=half4(D.rgb,def_gloss);
return O;
}